I've Gone Retro Again!

 

A while back I wrote a blog called, "I've gone retro!".  My first website was created with a Yahoo Geocities web tool that created a web page with a table structure. After learning about cascading style sheets I through away the tables and replaced them with <div> structures that were "styled" with (mostly inline) css. ...and then I went back to tables; retro! The reason for going back to tables is the inconsistent rendering of css between the different web browsers. Internet Explorer is supposed to be going by the wayside, and there's a movement among browser publishers to become more and more compliant with W3C standards; maybe I'll go back to cascading style sheets when all the browsers render the same; in the meantime I'll stay retro! 

I just did something "retro" again. In 2010 I replaced my mortgage calculator (written in JavaScript) with a Java applet version. I made the change not to just put a Java applet on my home page, but because my JavaScript version was giving less and less accurate results. This is referred to "software decay"; the code doesn't change but the software stops working or becomes less usable. Programs don't run in a vacuum, but are at the mercy of environmental changes; e.g., a JavaScript keyword could change, and now your beloved script doesn't work right anymore (that's not what happened in this case; just an example). So I whipped up a Java applet that calculates monthly payments, based on amortization formulas.

About two years ago I asked the manager of the the call center where I worked (AT&T Technical Care) if he'd like to take a look at my home page; he agreed to do it when he got home, and jotted down my URL. The next day I asked him what he thought, and he told me he didn't do it because there was a warning message when the page loaded! The warning message he referred to was the warning that the Java applet on my web page was unsigned. When I first wrote the applet, there weren't any such warnings, but nowadays there seems to be a war against Java (client side core Java). In any case, this was my first indication that a Java applet posed an "SEO" problem with my home page (my home page doesn't have any SEO violations, but I just checked on that recently; two sub-domains do, so I need to fix those up).

Last week my wife asked me what happened to my loan calculator. She had gone to my home page too get some amortization info, and found out that now I was only offering the monthly payment amount. I told her about the problems I was having with my old calculator, and why I changed to a Java applet, and why I didn't care to re-write all that amortization stuff. I told her I'd just download a calculator off of the Internet that had the info she wanted. Those calculator are easy to come by, but the one I downloaded (copied the code and pasted it onto my home page) didn't quite fit in with the aesthetics of my home page. So rather then (potentially having to) try out a bunch of calculators, I decided to take a look at my old code and see what I needed to do too fix it. 

I dredged up my old JavaScript code, replaced my Java applet with it, and it worked perfectly! So not only does software decay happen, but software revival, too!  There was one tiny change I had to make; had to redefine one of my JavaScript variables as global (I was already using it as a global variable, but now I had to define it outside of any JavaScript function too make it global). Now when you use my loan calculator, you get a pop-up window displaying an amortization table. ...and I did make the change back to my JavaScript code because of my wife's complaint (request?), but if I didn't have it in the back of my head that I should scrap the applet, I would've just added some lines of code to my applet.

Incidentally, I did make one more change to my home page (same day change, so might as well explain it here - besides, this illustrates what goes into my thinking when modifying my website; the idea behind his blog). I replaced the Bing Translator Widget with an html button. The translator widget didn't render too well in some browsers, so I thought about creating my own widget, using the Bing Translator API. After looking at the API, I decided that it was too much work. I ripped out the widget and replaced it with a button that has an "onclick" property too call the translator. Now my home page looks nice in all browsers it's loaded into (I hope), but you can still bring up the translation widget by clicking on the button that's labeled, "Click For Bing Translator".

Return To My Blog Page       Return To My Programming Page